In the current state of the robotic art, industrial robots are high-cost machines. Small electrical units range in cost from $30,000 to $50,000, while complete installations can range in cost from $100,000 to $150,000. In addition, such robots are of limited application because they typically operate on dead-reckoning. These robots lack force-sensing ability and force control capabilities which are necessary elements in an adaptive control application. Without adaptive control capabilities, such activities as parts-mating in assembly operations are difficult to perform.
Generally, commercially available industrial robots are position-controlled devices which can be commanded to move from one position to another. In applications such as paint spraying, dipping for investment castings, and materials handling in well-structured environments, such a position controlled capability is adequate. However, where it is desired to use a robot for assembly or fitting operations, the presently available commercial robots are generally not capable of sensing and controlling the forces that develop during encounters between the manipulated and the fixed objects.
In the past, typical solutions to this problem have involved the use of special jigs and fixtures designed and fabricated to locate parts and to provide the required compliance or "give" to allow the robot to perform the task despite some misalignment of the parts. Such jigs and fixtures typically triple the cost of a robot installation. Another solution involved the use of a compliant element at the wrist of the robot to absorb some of the errors caused by misalignment of the parts.
Current efforts in providing force-sensing and control include a D.C. servo approach. In such an approach, a conventional D.C. motor is driven by control circuitry. A tachometer, a position-encoder, and a strain gauge are all positioned on the D.C. motor shaft. From the strain gauge, a torque measurement is obtained, while from the position-encoder, a shaft position measurement is obtained. The tachometer provides a velocity measurement. Based upon these measured quantities, the control circuitry shapes the drive signal provided to the D.C. motor to control the same.
There are numerous drawbacks in such a configuration. The D.C. motor, typically having two to four poles, is costly and often requires substantial gear-reduction in order to produce the proper rotational velocity range which is suitable for robot operation. Additionally, brush and commutator wear limit the life of the motor to between 5,000 and 10,000 hours. Moreover, in order to provide position control capabilities two feedback loops are required. Thus, the conventional D.C. servo approach has a high component count, a substantial gear-reduction requirement, a high motor cost, and reduced motor life.
In recent years, stepper motors have found increasing application in driving robotic arms. Customarily, stepper motors are driven by a train of pulses or steps. Each step causes the motor to rotate some fraction of one complete revolution, this fraction being a function of the number of poles in the motor. Thus, the angular position of a stepper motor is determined by the number of steps supplied to it.
Among the problems associated with the use of stepper motors in a robotics application is resonance at certain velocities and jerky movement a low rotational velocities.
There have been a number of stepper motor drive systems proposed for driving the motor with fractional steps. Generally, these proposals disclose a drive waveform which varies sinusoidally or trapezoidally and which is formed of a fixed number of fractional steps.
One drawback of such drive configurations is that at high rotational velocities, the duration of each fractional step is too short to permit substantial control to be exercised over the motor on a fractional step basis.